package ast

import (
	"bytes"
	"fmt"
	"fox/src/lexer"
)

// 标识符（变量名）
type Identifier struct {
	Token lexer.Token
	Value string
}

func (i *Identifier) expressionNode()      {}
func (i *Identifier) TokenLiteral() string { return i.Token.Literal }

func (i *Identifier) StringTree() string {

	var out bytes.Buffer

	out.WriteString("Identifier{Token:" + fmt.Sprintf("%+v", i.Token) + ", Value:'" + i.Value + "'}")

	return out.String()
}
